#ifndef __PVMDRIVER_ANDROID_AUDIOTRACK_H__
#define __PVMDRIVER_ANDROID_AUDIOTRACK_H__

#include "lib/drivers/pvmdriver_softmix.h"

class PVMDriverAndroidAudioTrack : public IPVMDriverOutSimpleDevice
{
public:
	PVMDriverAndroidAudioTrack();
	virtual ~PVMDriverAndroidAudioTrack();

	virtual pvm_bool Init();
	virtual void DriverClose();
	virtual pvm_bool IsInitialized();
	virtual pvm_uint32 GetDriverType();

	virtual pvm_bool GetDriverOption(const pvm_char* optionName, void* optionVal, pvm_uint32* optionSize);
	virtual pvm_bool SetDriverOption(const pvm_char* optionName, void* optionVal, pvm_uint32 optionSize);

	virtual pvm_uint32 DevicesNum();
	virtual pvm_int32 DeviceName(pvm_int32 nDevice, pvm_char* buffer, pvm_uint32 maxLength);

	virtual pvm_bool DeviceEnumModes(pvm_int32 nDeivce, TFormatEnumCallbackProc enumProc, void *param);

	virtual IPVMDeviceOutSimple* DeviceOpen(pvm_uint32 samplesPerSec, pvm_uint32 bitsPerSample, pvm_uint32 chanelsNum, pvm_int32 deviceNum, void *additionalInfo, pvm_uint32 infoSize, IPVMDeviceOutSimpleWaveSource *waveSource, pvm_bool deviceSuspended);
	virtual void CloseDevice(IPVMDeviceBase* device);
};

IPVMDriverOut* PVMDriverCreateAndroidAudioTrack();
pvm_uint32 PVMDriverGetTypeAndFlagsAndroidAudioTrack();


#endif
